package ahblue.cn.tanzi.util;

import com.alibaba.fastjson.JSON;

import java.util.List;

public class PinkJSON {

    /**
     *  json -> model
     * @param text
     * @param clazz
     * @param <T>
     * @return
     */
//    public static <T> T parseObject(String text, Class<T> clazz) {
//        return new Gson().fromJson(text,clazz);
//    }

    /**
     * model -> json
     * @param javaObject
     *
     * @return
     */
//    public static String toJSON(Object javaObject) {
//        return new Gson().toJson(javaObject);
//    }

    /**
     * jsonArray -> List<model>
     * @param text
     * @param typeToken
     * @param <T>
     * @return
     */
//    public static <T> List<T> parseArray(String text,TypeToken typeToken){
//        Gson gson=new Gson();
//        return gson.fromJson(text,typeToken.getType());
//    }
    /**
     *  json -> model
     * @param text
     * @param clazz
     * @param <T>
     * @return
     */
    public static <T> T parseObject(String text, Class<T> clazz) {
        try{
            return JSON.parseObject(text,clazz);
        }catch (com.alibaba.fastjson.JSONException exception){
            exception.printStackTrace();
        }
        return null;
    }

    /**
     * model -> json
     * @param javaObject
     * @return
     */
    public static Object toJSON(Object javaObject) {
        return JSON.toJSON(javaObject);
    }

    /**
     * jsonArray -> List<model>
     * @param text
     * @param clazz
     * @return
     */
    public static <T> List<T> parseArray(String text, Class<T> clazz){
        return JSON.parseArray(text,clazz);
    }
}
